今天終於要來看講者解釋 Focus Out 的意思。
昨天有提到 Focus 可以作為 Trigger 也可以做 Response 。
我們設定第二個輸入欄「您的密碼」(Input 2)為 Focus 的 Trigger ,並選 Focus Out 。
接著選 Focus 作為 Response,並且選擇第三個輸入欄「請再次輸入密碼」(Input 3) 來 Focus In。
原來從頭到尾就是,就是框內(Focus In)、框外(Focus Out)的差別...
因此,當使用者在「您的密碼」(Input 2) 輸入密碼後,輸入框外面點一下,就會自動跳到「請再次輸入密碼」(Input 3)。
總算真相大白。
我猜用 Focus 語意上的意思就是,使用者聚焦在哪裡的意思。
讚讚。
我們回到之前玩 Side Bar 的那個 IoT Home 頁面。(ProtoPie 稱之為 Scene)
我們打算模擬使用者點選下方的麥克風 icon 之後,跳到 Voice 這個 Scene 。
快速走過前面做很多次的 Tap 這個 Trigger 。
選擇麥克風 Icon 並設定 Tap 。
接著選擇 Jump 作為 Response 並選擇 Voice 這個頁面。
用Preview 測試一下,順利點擊後轉場換頁。
接著在 Voice 這個頁面,通常點擊後跳來這個頁面時就要 Trigger 某件行為發生。
(例如按下 Siri 就會進入一個新畫面然後自動開始聽你說話。)
因此先選擇 Start 這個 Trigger。
預設已經是 Start After Jump 。(也就是轉場過來之後再開始)
接著 Response 往下滑會有一個 Listen ,點他。
裡面有非常多語言都能支援(這可能要測試看看...)
裡面有一個選項叫做 Continuous ,理論上如果勾選,講者說會一直聽下去。
但通常這一類語音互動都是一次給予一個指令,所以先不用勾。
存擋之後點 Preview ,會在底下看到一個閃爍的小麥克風圖示。
好,確定 Prototype 能夠聽之後,接著選下一個Trigger, Voice Command。
預設是 After Speaking 才會被觸發(Trigger),也就是你可能說完一個指令之後才會進行 Response。
下方可以設定 Phrases ,就是你想要「講到特定的字」被觸發還是「特定的字被忽略」的時候觸發。
一時想不太到什麼時候會用到「特定的字被忽略」這樣的情境...
我在想是不是特別要聽某些事件,但沒聽到某個關鍵字,就能給回應說「你說的該不會是...「特定被忽略的字」吧」?
而你也可以選擇 No phrases detected ,也就是如果完全沒收到音或是可能沒講話,系統就能設定一些回應。
我們先來嘗試把使用者講的話呈現在螢幕上吧。
(這種思維真的是標準的除錯,先 print 再說。)
因為我們想要把講的話都顯示出來,所以我們選擇 While Speaking。
而且因為我們不是要講一句指令就結束,所以可以把 Command 取消打勾。
接著 Response 我們選擇Text ,並且設定螢幕上的 I’m Listening 這個地方。
然後我們就要使用 Formula 了!
選擇 Formula ,點一下下面輸入欄右側的圖示,就會跳出一行可輸入的黑框。
先打一個 $ 符號...就會跳出很多可以選擇。
繼續打,完整寫出 $voicetranscript 。
(我發現voice拼成 vocie也是會幫你自動選擇...)
接下來使用 Preivew ,我還特別是了一下繁體中文(疑?語音是這樣分嗎)然後真的顯示了我講的話!!!
(這截圖有夠難截圖...)
兩個禮拜了。
好像每天寫一點、寫一點,也才這麼一點東西呢。
真心感恩以前讀過的各種文章,謝謝願意分享的你。